Generally, when coding moving pictures, an image coding apparatus compresses the quantity of information by reducing redundancy of the moving pictures in spatial and temporal directions. At this time, the image coding apparatus uses intra prediction (referred to also as intra-picture prediction) as a method of reducing the redundancy in the spatial direction. As a method of reducing the redundancy in the temporal direction, the image coding apparatus uses inter prediction (referred to also as inter-picture prediction) as a method of reducing the redundancy in the temporal direction.
For example, when coding a current picture in the inter prediction, the image coding apparatus uses, as a reference picture, a coded picture located before or after the current picture in display order. The image coding apparatus then derives a motion vector through motion estimation. Using the motion vector, the image coding apparatus then performs motion compensation to generate prediction image data. Subsequently, the image coding apparatus codes a difference between the generated prediction image data and the image data of the current picture, thereby removing the redundancy in the temporal direction.
Furthermore, in the motion estimation, the image coding apparatus calculates a difference between a current block to be coded in the current picture and a block in the reference picture. At this time, the image coding apparatus determines, as a reference block, one of the blocks in the reference picture with which the difference is smallest. Using the current block and the reference block, the image coding apparatus then estimates a motion vector.
The image coding apparatus of H.264 that is an already-standardized moving picture coding scheme (Non Patent Literature 1) uses three types of pictures: I-picture, P-picture, and B-picture, to reduce the quantity of information.
The H.264 image coding apparatus codes an I-picture using intra prediction. The image coding apparatus codes a P-picture using inter prediction. When coding a P-picture, the image coding apparatus refers to one coded picture located before or after the P-picture in display order. In other words, the image coding apparatus codes a P-picture using uni-directional prediction.
The image coding apparatus codes a B-picture using inter prediction. When coding a B-picture, the image coding apparatus refers to two coded pictures located before or after the B-picture in display order. In other words, the image coding apparatus codes a B-picture using bi-directional prediction.
It is to be noted that the bi-directional prediction may only represent predicting image data with reference to one reference picture located in each of before and after the B-picture. Furthermore, the bi-directional prediction may include predicting image data with reference to two reference pictures located in one of before and after the B-picture. In the latter case, the bi-direction prediction may be represented as bi-prediction.
In addition, a discussion has been made on using a motion vector predictor designation mode or a merge mode at the time of coding the motion vector of the current block in the B picture or the P picture (Non Patent Literature 2).